﻿/**
 * Create in 2012-4-3.
 */
package kit4j.common.task.event;

import kit4j.common.task.ProgressionalTask;

/**
 * 指示任务进度值发生变化的事件。
 * 
 * @author MiniKnife
 *
 */
public class TaskProgressRateChangeEvent extends TaskEvent {
	
	private static final long serialVersionUID = 1L;

	/**
	 * 任务之前的进度值。
	 */
	private long oldTaskProgressRate;
	
	/**
	 * 任务当前的进度值。
	 */
	private long currentTaskProgressRate;

	/**
	 * 创建一个任务进度变化事件对象。
	 * @param task 发生变化的任务
	 * @param oldTaskProgressRate 任务之前的进度值
	 * @param currentTaskProgressRate 任务当前的进度值
	 */
	public TaskProgressRateChangeEvent(ProgressionalTask task, long oldTaskProgressRate, long currentTaskProgressRate) {
		super(task);
		
		this.oldTaskProgressRate = oldTaskProgressRate;
		this.currentTaskProgressRate = currentTaskProgressRate;
	}
	
	@Override
	public ProgressionalTask getTask() {
		return (ProgressionalTask) super.getTask();
	}

	/**
	 * @return 任务之前的进度值
	 */
	public long getOldTaskProgressRate() {
		return oldTaskProgressRate;
	}

	/**
	 * @return 任务当前的进度值
	 */
	public long getCurrentTaskProgressRate() {
		return currentTaskProgressRate;
	}
	
}
